package com.ntu.rent.common.util;

import java.util.Map;

import com.ntu.rent.bean.MemeryData;
import com.ntu.rent.common.exceptions.MessagePaseException;

/**
 * 
 * 公司名称:上海天缘迪科<br/>
 * 工程名称:Rent<br/>
 * 包名:com.ntu.rent.common.util<br/>
 * 文件名:MessageUtil.java<br/>
 * 功能描述:
 * 根据消息提醒模板和给定参数生成消息提醒
 *<br/>
 * 创建时间:2014-2-19 上午11:21:51<br/>
 * @author zeegates
 *
 */
public class MessageUtil {

	/**
	 * 
	 * 功能描述:<br/>
	 *  根据信息类型和提供的参数通过内存中的消息模板生成消息信息
	 * <br/>
	 * 创建时间:2014-2-19 下午01:33:48<br/>
	 * @author zeegates
	 * @param msgType
	 * @param params
	 * @return
	 * @throws MessagePaseException
	 */
	public static String getMessage(String msgType,Map<String,String> params) throws MessagePaseException{
		//从内存数据中获取消息模板
		String msgTemplate = MemeryData.messageTemplate.get(msgType);
		
		for(String key : params.keySet()) {
			msgTemplate = msgTemplate.replaceAll("{"+key+"}", params.get(key));
		}
		
		if(msgTemplate.contains("{") || msgTemplate.contains("}")) {
			
			throw new MessagePaseException(
					MemeryData.messageTemplate.get(msgTemplate)+"不是正确的模板格式或参数不正确!");
		}
		return msgTemplate;
	}
}
